#ifndef VOIGT
#define VOIGT

/**
 * class Voigt
 * represents one viscoelastic element
 * consisting of parallel spring and piston
 * it can be connected only between two particles
 */ 
class Voigt{

private:
	
	/** id of start particle */
	int startId;

	/** id of end particle */
	int endId;

	/** spring constant */
	double springConst;

	/** spring rest length */
	double restLength;

	/** viscosity constant */
	double viscosityConst;

	/** length of voigt*/
	double length;

public:
	
	/** constructor */
	Voigt();

	/** 
	 * param constructor 
	 * @param startId id of starting particle
	 * @param endId id of ending particle
	 * @param springConst spring constant
	 * @param restLength rest length of spring
	 * @param viscosityConst viscosity constant
	 * @param length length of voigt
	 */
	Voigt( 
		int startId, 
		int endId,
		double springConst,
		double restLength,
		double viscosityConst, 
		double length );

	/** destructor */
	~Voigt();



};




#endif // VOIGT